import { setToken, getToken, removeToken } from '@/utils/auth'
import { updateUserInfo, userAvator } from '@/api/user'
export default {
  namespaced: true, // 开启命名空间
  state: {
    token: getToken(),
    info: {}
  },
  mutations: {
    // 存token
    addToken(state, token) {
      // 存入vuex
      state.token = token
      // console.log(state.token)
      // 存入cookie
      setToken(token)
    },
    // 存入用户信息
    addUserInfo(state, info) {
      state.info = info
    },
    // 清除token
    delToken(state) {
      state.token = ''
      removeToken()
    },
    // 清除用户信息
    delUserInfo(state) {
      state.info = {}
    }
  },
  actions: {
    async getUserInfo(context) {
      // 获取用户信息
      const res = await updateUserInfo()
      // console.log(res)
      // 获取用户头像详细信息
      const re = await userAvator(res.data.userId)
      // console.log(re)
      // 用户信息和用户头像信息存在一起
      context.commit('addUserInfo', { ...res.data, ...re.data })
    }
  }
}
